#include "natalie.hpp"

namespace Natalie {

static const long WINDOWS1255[] = {
    0x20AC, -1, 0x201A, 0x192, 0x201E, 0x2026, 0x2020, 0x2021, 0x2C6, 0x2030,
    -1, 0x2039, -1, -1, -1, -1, -1, 0x2018, 0x2019, 0x201C,
    0x201D, 0x2022, 0x2013, 0x2014, 0x2DC, 0x2122, -1, 0x203A, -1, -1,
    -1, -1, 0xA0, 0xA1, 0xA2, 0xA3, 0x20AA, 0xA5, 0xA6, 0xA7,
    0xA8, 0xA9, 0xD7, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1,
    0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xF7, 0xBB,
    0xBC, 0xBD, 0xBE, 0xBF, 0x5B0, 0x5B1, 0x5B2, 0x5B3, 0x5B4, 0x5B5,
    0x5B6, 0x5B7, 0x5B8, 0x5B9, 0x5BA, 0x5BB, 0x5BC, 0x5BD, 0x5BE, 0x5BF,
    0x5C0, 0x5C1, 0x5C2, 0x5C3, 0x5F0, 0x5F1, 0x5F2, 0x5F3, 0x5F4, -1,
    -1, -1, -1, -1, -1, -1, 0x5D0, 0x5D1, 0x5D2, 0x5D3,
    0x5D4, 0x5D5, 0x5D6, 0x5D7, 0x5D8, 0x5D9, 0x5DA, 0x5DB, 0x5DC, 0x5DD,
    0x5DE, 0x5DF, 0x5E0, 0x5E1, 0x5E2, 0x5E3, 0x5E4, 0x5E5, 0x5E6, 0x5E7,
    0x5E8, 0x5E9, 0x5EA, -1, -1, 0x200E, 0x200F, -1
};

Windows1255EncodingObject::Windows1255EncodingObject()
    : SingleByteEncodingObject { Encoding::Windows_1255, { "Windows-1255", "CP1255" }, WINDOWS1255 } { }

}
